package com.huiyun.project.im.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 会话设置
 * </p>
 *
 * @author bogon
 * @since 2020-07-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("im_cs_session_config")
@ApiModel(value="ImCsSessionConfig对象", description="会话设置")
public class ImCsSessionConfig implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    @ApiModelProperty(value = "租户ID")
    private String imTenantId;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "会话消(创建会话后提示)")
    private String sessionMsg;

    @ApiModelProperty(value = "坐席分配策略")
    private String distribution;

    @ApiModelProperty(value = "超时提醒消息")
    private String timeoutMsg;

    @ApiModelProperty(value = "再次超时提醒消息")
    private String retimeoutMsg;

    @ApiModelProperty(value = "启用满意度调查")
    private Integer satisfaction;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "最后服务坐席优先分配")
    private Integer policyLastCs;

    @ApiModelProperty(value = "会话超时时间")
    private Integer sessionTimeout;

    @ApiModelProperty(value = "再次超时时间")
    private Integer resessionTimeout;

    @ApiModelProperty(value = "超时时长")
    private Integer timeout;

    @ApiModelProperty(value = "再次超时时长")
    private Integer retimeout;

    @ApiModelProperty(value = "坐席回复超时时长")
    private Integer csTimeout;

    @ApiModelProperty(value = "坐席回复超时时长")
    private Integer csReplayTimeout;

    @ApiModelProperty(value = "超时回复消息")
    private String csTimeoutMsg;

    @ApiModelProperty(value = "最大用户数")
    private Integer maxUser;

    @ApiModelProperty(value = "首次就绪分配用户数")
    private Integer initMaxUser;

    @ApiModelProperty(value = "工作时间段")
    private String workingHours;

    @ApiModelProperty(value = "非工作时间提醒消息")
    private String notInWhmsg;

    @ApiModelProperty(value = "启用工作时间")
    private Integer hourCheck;

    @ApiModelProperty(value = "无坐席消息提醒")
    private String noCsMsg;

    @ApiModelProperty(value = "坐席忙提醒")
    private String csBusyMsg;

    @ApiModelProperty(value = "分配成功提醒")
    private String successMsg;

    @ApiModelProperty(value = "结束会话提示消息")
    private String finishMsg;

    @ApiModelProperty(value = "质检")
    private Integer quality;

    @ApiModelProperty(value = "质检评分")
    private String qualityScore;

    @ApiModelProperty(value = "服务超时提醒")
    private Integer serviceTimeoutLimit;

    @ApiModelProperty(value = "服务超时提醒消息")
    private Integer serviceTimeout;

    @ApiModelProperty(value = "服务超时时间")
    private String serviceTimeoutMsg;

    @ApiModelProperty(value = "允许访客排队的最大时长")
    private Integer queneTimeout;

    @ApiModelProperty(value = "访客排队超市提示消息")
    private String queneTimeoutMsg;

    @ApiModelProperty(value = "启用排队自动断开")
    private Integer quene;

    @ApiModelProperty(value = "无坐席的时候回复昵称")
    private String serviceName;

    @ApiModelProperty(value = "关闭浏览器自动离线")
    private Integer csAutoLeave;

    @ApiModelProperty(value = "启用外部快捷回复功能")
    private Integer otherQuickplay;

    @ApiModelProperty(value = "外部快捷回复搜索地址")
    private String oqrSearchUrl;

    @ApiModelProperty(value = "外部快捷回复搜索输入参数")
    private String oqrSearchInput;

    @ApiModelProperty(value = "外部快捷回复搜索输出参数")
    private String oqrSearchOutput;

    @ApiModelProperty(value = "外部快捷回复内容URL")
    private String oqrDetailUrl;

    @ApiModelProperty(value = "外部快捷回复详情输入参数")
    private String oqrDetailInput;

    @ApiModelProperty(value = "外部快捷回复详情输出参数")
    private String oqrDetailOutput;

    @ApiModelProperty(value = "启用坐席端CTRL+Enter发送消息")
    private Integer csCtrlEnter;

    @ApiModelProperty(value = "启用访客端CTRL+Enter发送消息")
    private Integer ctrlEnter;

    @ApiModelProperty(value = "启用快捷回复功能")
    private Integer enableQuick;

    @ApiModelProperty(value = "外部知识库启用SSL")
    private Integer otherSsl;


}
